package com.quant.entity;

import lombok.Data;

import java.util.List;

/**
 *
 * @author lu
 * @version 1.0
 * @date 2025/10/10 16:30
 * @describe
 */
@Data
public class BacktestAll {
	private List<StockInfo> stockPool;
	private TimeRange timeRange;
	private double initialCapital;
	private TransactionCost transactionCost;
	private PositionManagement positionManagement;
	private StrategyParams strategyParams;
	private String strategyType;  // 新增：区分策略类型（MA_CROSS/RSI）


	@Data
	public static class StockInfo {
		private String name;
		private String code;
	}

	@Data
	public static class TimeRange {
		private String startDate;
		private String endDate;
	}

	@Data
	public static class TransactionCost {
		private double commissionRate;
		private double minCommission;
		private double stampDutyRate;
	}

	@Data
	public static class PositionManagement {
		private double maxPositionPerStock;
	}

	@Data
	public static class StrategyParams {
		private int shortTermMA;
		private int longTermMA;
		private int rsiOverbought;
		private int rsiOversold;
	}
}
